package com.ruoyi.pos.domain.dto.system.response;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 柜组响应DTO
 * 
 * @author ruoyi
 * @date 2025-01-30
 */
@Data
@ApiModel(description = "柜组响应")
public class GroupResponse {

    @ApiModelProperty(value = "柜组ID")
    private Long groupId;

    @ApiModelProperty(value = "柜组编码")
    private String groupCode;

    @ApiModelProperty(value = "柜组名称")
    private String groupName;

    @ApiModelProperty(value = "父级柜组ID")
    private Long parentId;

    @ApiModelProperty(value = "父级柜组名称")
    private String parentName;

    @ApiModelProperty(value = "柜组类型")
    private String groupType;

    @ApiModelProperty(value = "柜组类型名称")
    private String groupTypeName;

    @ApiModelProperty(value = "柜组级别")
    private Integer groupLevel;

    @ApiModelProperty(value = "排序号")
    private Integer sortOrder;

    @ApiModelProperty(value = "负责人")
    private String manager;

    @ApiModelProperty(value = "联系电话")
    private String phone;

    @ApiModelProperty(value = "柜组地址")
    private String address;

    @ApiModelProperty(value = "营业时间开始")
    private Date businessStartTime;

    @ApiModelProperty(value = "营业时间结束")
    private Date businessEndTime;

    @ApiModelProperty(value = "是否24小时营业")
    private String is24Hours;

    @ApiModelProperty(value = "最低销售额")
    private BigDecimal minSalesAmount;

    @ApiModelProperty(value = "最高销售额")
    private BigDecimal maxSalesAmount;

    @ApiModelProperty(value = "折扣权限")
    private String discountPermission;

    @ApiModelProperty(value = "最大折扣率")
    private BigDecimal maxDiscountRate;

    @ApiModelProperty(value = "退货权限")
    private String refundPermission;

    @ApiModelProperty(value = "退货天数限制")
    private Integer refundDaysLimit;

    @ApiModelProperty(value = "状态")
    private String status;

    @ApiModelProperty(value = "状态名称")
    private String statusName;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "子柜组列表")
    private List<GroupResponse> children;
}
